// app.js
const userManager = require('./utils/userManager');

App({
  globalData: {
    userInfo: null,
    isLoggedIn: false,
    openid: null
  },
  onLaunch: function() {
    // 初始化登录状态
    const isLoggedIn = userManager.isLoggedIn();
    const userInfo = userManager.getUserInfo();
    
    // 根据本地存储设置全局状态
    if (isLoggedIn && userInfo) {
      this.globalData.isLoggedIn = true;
      this.globalData.userInfo = userInfo;
      console.log('已从本地存储恢复登录状态');
    }
    
    // 尝试自动登录（需要网络请求，可能不是立即完成）
    this.autoLogin();
  },

  // 尝试自动登录
  autoLogin: function() {
    wx.showLoading({ title: '加载中...' });
    
    userManager.autoLogin()
      .then(result => {
        if (result) {
          // 已登录，更新全局状态
          this.globalData.isLoggedIn = true;
          this.globalData.userInfo = result;
          
          // 通知页面登录状态变化
          if (this.loginReadyCallback) {
            this.loginReadyCallback(result);
          }
          
          console.log('自动登录成功', result);
        } else {
          // 未登录，需要引导登录
          console.log('需要登录');
        }
      })
      .catch(err => {
        console.error('自动登录失败', err);
      })
      .finally(() => {
        wx.hideLoading();
      });
  }
})